As is known in the art, large host computers and servers (collectively referred to herein as “host computer/servers”) require large capacity data storage systems. These large computer/servers generally includes data processors, which perform many operations on data introduced to the host computer/server through peripherals including the data storage system. The results of these operations are output to peripherals, including the storage system.
One type of data storage system is a magnetic disk storage system. Here a bank of disk drives and the host computer/server are coupled together through an interface. The interface includes “front end” or host computer/server controllers (or directors) and “back-end” or disk controllers (or directors). The interface operates the controllers (or directors) in such a way that they are transparent to the host computer/server. That is, data is stored in, and retrieved from, the bank of disk drives in such a way that the host computer/server merely thinks it is operating with its own local disk drive. Thus, while the host computer server may transmit data in any one of a plurality of different protocols, the data is translated by a protocol translator in the interface to a common interface protocol. When data is retrieved from the disk drives by the interface using the system protocol, the data is then passed through the interface protocol translator so that the data is returned to the host computer/sever with the same protocol in which it was originally sent by the host computer/server to the interface. One such system is described in U.S. Pat. No. 5,206,939, entitled “System and Method for Disk Mapping and Data Retrieval”, inventors Moshe Yanai, Natan Vishlitzky, Bruno Alterescu and Daniel Castel, issued Apr. 27, 1993, and assigned to the same assignee as the present invention and another is described in U.S. Pat. No. 6,631,433, entitled “Bus Arbiter for Data Storage System”, inventor Paluzzi, issued Oct. 7, 2003 and assigned to the same assignee as the present invention, the entire subject matter thereof being incorporated herein by reference.
The host computer/server controllers, disk controllers and cache memory are interconnected through a backplane printed circuit board. More particularly, disk directors are mounted on disk director (referred to as back end director) printed circuit boards. The host computer/server directors are mounted on host computer/server director (referred to as front end director) printed circuit boards. And, cache memories are mounted on cache memory printed circuit boards. In the former system described in U.S. Pat. No. 5,206,939, the directors and the memory are interconnected through a multi-drop parallel bus, while in the later system, described in U.S. Pat. No. 6,631,433, the memory and the directors are connected with point-to-point serial bi-directional busses.
During development of such a data storage system, the data storage system manufacturer can replace one of the directors with a customized director which is configured to watch traffic on the set of buses and communicate that traffic to a logic analyzer. To this end, the manufacturer disconnects one of the director modules from the set of buses and connects the customized director to the set of buses in its place. The manufacturer then operates the logic analyzer while the data storage system is running in order to test and/or debug the operation of the data storage system. In particular, the manufacturer uses the customized director to monitor or “snoop” the set of buses, and uses the logic analyzer to analyze signals exchanged between the remaining directors and the memory. Accordingly, the manufacturer can determine whether the data storage system operates properly, and identify sources of problems if they exist.
Unfortunately, there are deficiencies to the above-described approach to testing and debugging a data storage system by disconnecting a director from a set of buses of the data storage system, and connecting a director (which leads to a logic analyzer) to the set of buses in its place. For example, the removal of the director means that the data storage system is no longer capable of generating maximum traffic. That is, the data storage system can no longer have a maximum configuration since the removed director is no longer available to perform work. Accordingly, the traffic monitored by the logic analyzer does not truly represent the traffic of a fully configured data storage system.
Additionally, the above-described approach may not be well-suited for monitoring data storage systems which use communication mechanisms that are not multi-drop buses. For example, the above-described approach may not be well-suited for a data storage system having modules that communicate through non-blocking, point-to-point channels because such a data storage system may not have a commonly shared communications medium (e.g., a multi-drop bus) from which to snoop or tap into. Rather, in such a data storage system, each module has a separate, or private, non-blocking point-to-point channel with another module. Accordingly, the above-described approach cannot connect to and snoop on a commonly shared communications medium.
One technique used for monitoring operation of a data storage system having a point-to-point bus arrangement operates by providing a copy of the signals passing through the point-to-point buses. Such technique is described in co-pending patent application entitled “System Analyzer for a Data Storage System”, inventors Mark Zani, Ofer Porat and Alexander Rabinovich, Ser. No. 10/100,458, filed Mar. 18, 2002, assigned to the same assignee as the present invention, the entire subject matter thereof being incorporated herein by reference. There, while a first point-to-point signal is exchanged between the director and the memory, a second point-to-point signal is provided which is a copy of the first point-to-point signal. Use of the second point-to-point signal alleviates the need to tap into or snoop the first point-to-point signal.
While such analyzer operates effectively to monitor the operation of a system, the analyzer is connected to the system prior to system start-up. In some applications it would be desirable to plug the analyzer into an operating data storage system, that is, provide a hot-pluggable system analyzer. While the analyzer described above is hot-pluggable, errors developed in transferring signals to the analyzer requiring manual verification of the existence of a problem then, if there was an error, manually resetting the analyzer.